package com.jinmdz.fmis.api.api.model.calcrule;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.jinmdz.fmis.common.annotation.AnValidate;
import com.jinmdz.fmis.common.constant.EValidateCode;
import com.jinmdz.fmis.core.base.BaseBean;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.math.BigDecimal;

/**
 * 计算编码A0200000请求数据
 *
 * @author LiCongLu
 * @date 2020-04-07 15:48
 */
@ApiModel(value = "计算编码A0200000请求数据", description = "计算编码A0200000请求数据")
public class A0200000Data extends BaseBean {

    /**
     * 项目价格
     */
    @AnValidate(name = "项目价格", required = true, code = EValidateCode.NO_LESS_ZERO)
    @ApiModelProperty(value = "项目价格", name = "itemPrice", position = 1)
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private BigDecimal itemPrice;

    /**
     * 行驶里程
     */
    @AnValidate(name = "行驶里程", required = true, code = EValidateCode.NO_LESS_ZERO)
    @ApiModelProperty(value = "行驶里程", name = "transportDistance", position = 2)
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private BigDecimal transportDistance;

    /**
     * 里程范围
     */
    @AnValidate(name = "里程范围", required = true, code = EValidateCode.NO_LESS_ZERO)
    @ApiModelProperty(value = "里程范围", name = "distanceRange", position = 3)
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private BigDecimal distanceRange;

    /**
     * 每公里加价
     */
    @AnValidate(name = "每公里加价", required = true, code = EValidateCode.NO_LESS_ZERO)
    @ApiModelProperty(value = "每公里加价", name = "addPricePerKilometre", position = 4)
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private BigDecimal addPricePerKilometre;

    public BigDecimal getItemPrice() {
        return itemPrice;
    }

    public A0200000Data setItemPrice(BigDecimal itemPrice) {
        this.itemPrice = itemPrice;
        return this;
    }

    public BigDecimal getTransportDistance() {
        return transportDistance;
    }

    public A0200000Data setTransportDistance(BigDecimal transportDistance) {
        this.transportDistance = transportDistance;
        return this;
    }

    public BigDecimal getDistanceRange() {
        return distanceRange;
    }

    public A0200000Data setDistanceRange(BigDecimal distanceRange) {
        this.distanceRange = distanceRange;
        return this;
    }

    public BigDecimal getAddPricePerKilometre() {
        return addPricePerKilometre;
    }

    public A0200000Data setAddPricePerKilometre(BigDecimal addPricePerKilometre) {
        this.addPricePerKilometre = addPricePerKilometre;
        return this;
    }
}
